<template>
	<view class="bods">
		
		<Setps v-if="num < 4" :num=num :headtitle='headtext' :tit='tit' />
		<!-- 基本信息 -->
		<Setup ref="stepRef1" v-if="num==0" @modifyNum ="modifyNum" :list = "travelAppList"/>
		<!-- 行程信息 -->
		<application ref="stepRef2" v-if="num==1" @modifyNum ="modifyNum" :list = "travelAppList"/>
		<!-- 预算信息 -->
		<budget ref="stepRef3" v-if="num==2" @modifyNum ="modifyNum" :list = "travelAppList"/>
		<!-- 详情信息 -->
		<submission ref="stepRef4" v-if="num==3" @modifyNum ="modifyNum" :list = "travelAppList" />	
		<!-- 审批信息 -->
		<approval ref="stepRef5" v-if="num==4" :billno= "billNo" />	
	</view>
</template>
      
<script>
	import Setps from '@/workspaces/tools/setps.vue';
	import Setup from './setup.vue';//基本信息
	import application from './application.vue';//行程计划
	import budget from './Budget.vue';//费用预算
	import submission from './submission.vue';//出差申请详情
	import approval from './../invest/approval.vue';//出差申请审批
	export default {
		components: {
			Setps,
			Setup,
			application,
			budget,
			submission,
			approval
		},
		data(){
			return{
				num: null,
				tit: [{
						name: '基本信息'
					},
					{
						name: '行程计划'
					},
					{
						name: '费用预算'
					},
					{
						name: '确认提交'
					},
				],
				billNo: "",
				wfContext: {},
				headtext:'出差申请',
				travelAppList:{
					empNoList:[],//行程遍历用
					busiTripId:'',//	出差申请单ID
					busiTripNo:'',//	出差申请单号
					tripChangeNo:'',//	出差变更单号
					billStatus:'',//	单据状态暂存0提交1
					empNm:'',//	申请人
					empNo:'',//	申请人工号
					destination:'0',//	出差地域，0:境内,1:境外
					tripReasion:'',//	出差理由
					phone:'',//	联系电话
					tripType:'0',//	出差类型,0:工作出差,1:培训出差
					costDept:'',//	费用承担科室名称
					deptId:'',//	部门id
					subdeptId:'',//	科室ID
					subdeptNm:'',//所在科室
					applDate:'',//	申请日期
					tripObjective:'',//	出差详细地址
					startDate:'',//	计划开始时间
					endDate:'',//	计划结束时间
					isCheckHotel:'0',//	是否入住酒店，0否，1是
					peersNum:'',//	同行人数
					isWithComputer:'0',//	是否携带电脑，0否，1是
					computerStations:'',//	携带电脑台数
					computerEmpNo:'',//	电脑携带人工号
					computerEmpNm:'',//	电脑携带人名称
					fileNo:'',//	附件编号
					busiTripdEntityList:[],	//出差费用明细对象
					busiTripRouteEntityList:[
						{
							routeStartDate:'',//	出发时间
							startLocation:'',//	出发地点
							dest:'',//	到达地点
							empNm:'',//	申请人
							empNo:'',//	申请人工号
							descs:'',//	备注
							vehicle:'0',//	交通工具,-1全部,0飞机,1火车,2长途及其他
							creator:'',//	创建人
							createdDate:'',//	创建时间
							modifier:'',//	更新人
							lastUpdatedDate:'',//	更新时间
						    cityType:'0',//行程类型
						},
						{
							routeStartDate:'',//	出发时间
							startLocation:'',//	出发地点
							dest:'',//	到达地点
							empNm:'',//	申请人
							empNo:'',//	申请人工号
							descs:'',//	备注
							vehicle:'0',//	交通工具,-1全部,0飞机,1火车,2长途及其他
							creator:'',//	创建人
							createdDate:'',//	创建时间
							modifier:'',//	更新人
							lastUpdatedDate:'',//	更新时间
							cityType:'0',//行程类型
						}
					],//	出差行程集合对象
					creator:'',//	创建人
					createdDate:'',//	创建时间
					modifier:'',	//更新人
					lastUpdatedDate:'',//	更新时间
					isEnable:'1',//是否可用1是，0否
				}
			}
		},
		onLoad() {
			//获取流程页面的流程上下文[实用的流程信息从这里获取]
			this.wfContext = window.parent.myvm.wfContext;
			console.info(this.wfContext);
			if (this.wfContext.WorkflowInstinceState == 0 || this.wfContext.WorkflowInstinceState == 1 || this.wfContext.WorkflowInstinceState == 5) {
				if(this.wfContext.WorkflowInstinceState == 0){//发起
					this.num= 0;
					this.getRole();
				} else {
					this.applicationQuery(this.wfContext.BusinessKey)
				}
			} else {
				this.billNo= this.wfContext.BusinessKey;
				this.num= 4;
			}
			this.$oaconfig.cityData.cityInfoList= [];
			this.$oaconfig.cityData.provinceNmCityList= [];
		},
		methods:{
			modifyNum(num,list){
				let _this = this;
				_this.num = num;
				_this.travelAppList = JSON.parse(JSON.stringify(list));
				uni.pageScrollTo({
				   scrollTop: 0,
				   duration: 100,
				});
			},
			applicationQuery(billsNo){
				let _this = this;
				_this.$lyRequest.get('/gateway/reim/mp/dbsap/busiTripmEntity/getBusiTripmForm.do',{
					billsNo:billsNo
				}).then(data=>{
					if(data.data.result == 1){
						_this.travelAppList= data.data.rows;
						_this.num= 0;
					}
				})
			},
			getRole(){
				let _this = this;
				_this.$lyRequest.get('/gateway/basedata/mp/dbsap/trip/sysUser/appUserInfo.do', {}).then(data => {
					if (data.data.result == "1") {
						if (data.data.rows) {
							_this.travelAppList.empNm = data.data.rows.empName;
							_this.travelAppList.empNo = data.data.rows.userID;
							_this.travelAppList.subdeptId = data.data.rows.orgcode;
							_this.travelAppList.subdeptNm = data.data.rows.orgname;
							_this.travelAppList.busiTripRouteEntityList.map((item,index)=>{
								item.empNm=data.data.rows.empName;
								item.empNo=data.data.rows.userID;
							});
						}
					}
				});
			}
		}
	}
</script>

<style>
</style>